Alteryxのデータの流れとMeta Info
こんにちは、小澤です。
今回は、Alteryxに関するちょっぴりマニアックだけど、知っておくと役に立つMeta Infoについて書きたいと思います。
Alteryxの処理が実行されるタイミング
まずは、Alteryxでデータに対する処理が実行されるタイミングをおさらいしておきましょう。
Alteryxではワークフローの実行ボタンを押したタイミングで処理が実行されます。 当たりのことを言っているようですが、これに関してExcelとの違いで見てみましょう。
まず、Excelで以下のようなデータがあるとします。
このデータに対して、"各値に1を足したものを出力する"という計算をするときは、以下のようになります。 まず、計算式を入力すると、すぐにセルの内容として計算結果が表示されます。
オートフィルを使った時もすぐに各セルの計算結果が出力されます。
これに対して、AlteryxのFormulaツールで同様のことを行っても以下のように実行してないから結果が無い旨が表示されます。
一度ワークフローを実行することで以下のように結果が表示されます。
このようにデータに対する処理が実行されるタイミングとしては以下の2種類が考えられます。
- その場で随時処理をしていく
- 特定のタイミングでまとめて処理をする
これらは、どちらの方が優れているというわけではなく、それぞれに長所短所があります。
その場で随時処理される場合は、結果を都度確認しながら次の処理を実装していくということがしやすいですが、 データの規模が大きくなったり処理内容が複雑になったりすると、1つ1つの変更を加えるたびに長時間待たされることになります。
特定のタイミングでまとめて処理を行う際は、実行されるまで途中の結果を確認できませんが、 処理内容を記述途中に実行待ちになることがなかったり、実行時に全体を見て効率化を行なったりといったことが可能です。
Alteryxの設定での列選択
Alteryxでは、明示的に実行するまで処理が行われないというのがどういうことかわかったところで、1つ考えてみましょう。 ワークフロー作成時には都度処理が実行されることがないので、新たに追加したツールは実行してみるまで
- どんな入力を1つ前のツールから受け取るのか
- どんな出力を1つ後ろのツールに渡すのか
がわかりません。 各ツールは自分がどのようなデータを受け取るのかわかっていないので、本来であればそのデータに依存した設定項目は出せないということになります。
では、ここでSelectツールの設定を見てみましょう。
Selectツールでは列の絞り込み、名前変更、並べ替えなどが行えます。 そのため、対象となる列の一覧が設定として表示されています。
ここで、先ほどの「実行するまでどのようなデータが渡ってくるのかわからない」という話を思い出しましょう。 どのようのデータが渡ってくるのかわからないのに、どのようにしてこの列の一覧を取得しているのでしょうか?
ここが、今回のMeta Infoという情報に関わってきます。
データとは別のMeta Info
Alteryxでは実は、データの他にメタ情報をやりとりしています。 このメタ情報にどのようなデータが含まれているのかを確認するために、Alteryxが扱うデータ構造について改めて確認しておきましょう。
Alteryxでは、データをテーブルの形式で扱います。 これは行が1件1件のレコードになっており、列がその項目です。
このデータ構造で、Alteryxでは各列に列名がつけられています。 また、列ごとにデータの型が決まっています。 この列名やその型などの情報がMeta Infoとなっています。
各ツールがどのようなデータを生成するかは、実行するまでわかりませんが、出力のMata Infoはツールの設定から簡単に計算できることが多いです。 例えば、先ほどのSelectツールが出力するデータのMeta Infoはチェックの入ってる項目のみになり、列名や型の変更もツールの設定のみからわかります。
Alteryxでは、 Meta Info、すなわちデータに対するメタデータのみは各ツールがワークフローに接続されたり直前のツールの設定値が変更されたりといったタイミングで計算され適宜生成される仕組みなっています。
この仕組みによって、 先ほどのSelectツールは直前のツールから列名一覧を取得できますし、どのような形式のデータを渡すかを次のツールに伝えることが可能になっています。
Meta Infoを生成できないツール
稀にこのMeta Infoの受け渡しが適切に行えず、一度ワークフローを実行するまで次のツールの設定値として表示されるものが適切ではない場合があります。
これは、ワークフローを実行してみるまでMeta Infoを含めたデータに関する情報を取得できないような機能を持ったツールであることが原因です。
いくつかこの手のツールの例をあげていきましょう
Auto Fieldツール
Auto Fieldツールは文字列型になっているデータを自動的に適切な型に変換するためのツールです。
このツールは実際のデータを見て適切な型の判定を行います。 そのため、出力としてどのような型に変換されるかは実行するまでわかりません。
Cross Tabツール
Cross Tabツールは縦持ちのデータを横持ちに変換します。 変換後のデータでは、元のデータの特定の列の値が列の項目として出力されます。
どのような列が生成されるかは実際のデータに依存するため、実行するまでMeta Infoを取得することができません。
Downloadツール
URLを指定してweb上のデータをダウンロードするのがDownloadツールです。
こちらもダウンロードするまでどのようなデータが取得されるのかは不明なため、Meta Infoを取得できません。
その他
その他にもいくつかのツールが同様の結果となります。 Meta Infoを出力することができないツールは基本的に実際のデータを取得して計算するまでどのような列が生成されるかわからないものとなります。
おわりに
今回は、Alteryxの仕組みの話としてMeta Infoを紹介しました。 なぜかツールの設定の挙動が怪しいといったさいにはこのMeta Infoのことを思い出して見てください。
Alteryxの導入なら、クラスメソッドにおまかせください
日本初のAlteryxビジネスパートナーであるクラスメソッドが、Alteryxの導入から活用方法までサポートします。14日間の無料トライアルも実施中ですので、お気軽にご相談ください。